home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Wildcat Gold - The Optical BBS
/
Wildcat Gold - The Optical BBS (The Golden ROM Series)(Volume 4 Number 1)(The Digital Publishing Company)(1992).ISO
/
sdn
/
ca28_4.sdn
/
TALKER.DOC
< prev
next >
Wrap
Text File
|
1991-07-11
|
25KB
|
935 lines
TALKER: Voice driver Script and Overlay for COM-AND
--------------------------------------------
TALKER driver Script and Overlay for COM-AND
--------------------------------------------
TALKER is distributed with the COM-AND communications system
as an accessory. TALKER.OVL is intended for use ONLY with
COM-AND. COM-AND is "shareware". If COM-AND is found to be
useful or entertaining, a registration of $50.00 is required.
CABER Software
R. (Scott) McGinnis
P.O. Box 3607 Mdse Mart
Chicago, IL 60654-0607
PLINK, GEnie id: TARTAN
CIS id: 73147,2665
Version 1.1: 910711
TALKER: Voice driver Script and Overlay for COM-AND
TALKER version 1.1 is copyright 1991 CABER Software (R. Scott
McGinnis) as a part of the COM-AND communications system. All rights
are reserved world wide, excepting redistribution under the ShareWare
concept. COM-AND is distributed freely and may be copied by anyone
for any number of machines, under the ShareWare concept.
COM-AND is distributed as ShareWare. You may use COM-AND without
charge for the purposes of evaluating it's usefulness to your pur-
poses. It is suggested that this evaluation period be limited to a
few days of actual use. If you find COM-AND to be worth continued
use, then you are required to pay for it.
Registration of COM-AND includes the communications program COM-AND,
all published accessory programs (which currently are PC-VCO, CCHESS,
CBRIDGE, and CCOLOR), and several utilities (VCOLIB, VOICE, unPACKIT
and unSTUFIT). COM-AND, accessories and utilities are published
separately. One registration covers any and all of these programs.
By registering your copy of COM-AND (or any ShareWare product), you
are promoting and supporting the convenient distribution method and
free evaluation policy that brought you this copy of COM-AND.
If you have received this copy from a Users' Group, "Software
Library" or "SIG", and have paid a small fee (usually $3 to $10),
you have NOT acquired a registration or continued right to use
COM-AND. This fee was for the convenience of obtaining the diskette
with COM-AND on it. The fee does NOT apply to the registration fee.
You may NOT distribute COM-AND or it's documentation in connection
with ANY commercial venture, product, publication or service without
written approval. COM-AND may not be disassembled or modified
without express written consent.
COM-AND is supplied "as-is" with no warranties expressed or implied.
Neither CABER software nor the author will be liable for any damages
or lost revenues incurred through the use of this program or any of
its accessories and utilities beyond the registration price paid.
Version 1.1: 910711
TALKER: Voice driver Script and Overlay for COM-AND
Table of Contents
-----------------
I. Introduction .............................................. page 1
A. What is COM-AND? ........................................ page 1
B. The VOICE.EXE Driver .................................... page 2
C. The TALKER.OVL overlay and TALKER.CMD script ............ page 2
D. The SPEECH.COM Driver ................................... page 3
E. This document ........................................... page 3
II. Using TALKER.CMD ........................................... page 4
III. TALKER.OVL programming ..................................... page 5
SCALL 6,Nx ; Open driver ............................... page 5
SCALL 9 ; Close driver .............................. page 6
SCALL 12,Sx,Nx ; Load exceptions ........................... page 6
SCALL 0,Sx ; Speak english text ........................ page 6
SCALL 3,Sx ; Speak phonetic text ....................... page 6
SCALL 15,Nx ; Set rate .................................. page 7
SCALL 18,Nx ; Set pitch ................................. page 7
SCALL 21,Sx ; Set driver file name ...................... page 7
IV. VOICEON, VOICEOFF, and TESTVOICE scripts ................... page 8
V. TALKER.OVL termination ..................................... page 9
VI. Program Requirements ....................................... page 10
VII. Program and Author Information ............................ page 11
Appendices
----------
A. VOICE.EXE arpabet .......................................... page 12
B. SPEECH.COM arpabet ......................................... page 13
C. Exception file ............................................. page 14
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 1
I. Introduction
A. What is COM-AND?
COM-AND for the IBM PC and compatibles is a communications
program that may be used by itself, or with several integrated
accessory programs (which themselves may be used independent of
COM-AND). COM-AND provides standard comm program functions: a
dialing directory, macros, disk logging, binary and ASCII file
transfers, scripted execution and so on.
Four accessories are available for use with COM-AND at the date of
this writing. These accessories are for use over conferencing
services such as People/Link's PARTY, GEnie's RTC and CIS's CB:
PC-VCO provides a way to 'see' and 'hear' people talking.
CCHESS supports chess games with another conference user.
CBRIDG supports bridge games with other conference users.
CCOLOR tracks conference users, coloring each speaker's
received text differently
These accessories are available uploaded separately, not as a
part of COM-AND's release. Please refer to the accessory
documents for more detailed discussions of their function.
COM-AND executes as a CRT based comm program either in 25 line
text mode on a CGA or monochrome screen, or 25/43 line mode on an
EGA display. When an accessory is loaded through COM-AND (or when
COM-AND is loaded by an accessory), most of the functions of
COM-AND are available through the accessory.
COM-AND and its accessories (PC-VCO, CCHESS, CBRIDG, and CCOLOR)
may be copied freely and distributed to anyone for any number of
machines, for purposes of evaluation. The author offers COM-AND
as "shareware". If the program is USED, a registration of $50.00
is required for the entire package.
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 2
I. Introduction (continued)
B. The VOICE.EXE driver
VOICE.EXE is a TSR speaker driver that performs phoneme (text) to
speech (sound) synthesis. VOICE.EXE was released with version 2.2
of PC-VCO. VOICE.EXE was created to support PC-VCO, with the
following goals:
o VOICE.EXE was not to be CPU speed dependant
o VOICE.EXE would run with any version of MS-DOS after 2.0
o VOICE.EXE implemented a broader 'arpabet' (the phoneme
set) compatible with the MacIntosh/Amiga arpabet
o VOICE.EXE permitted a limited variance of speech pitch
and speaking rate
o VOICE.EXE may be loaded 'on top' of COM-AND and deleted
after use (and it may be used TSR as well!)
Refer to the document describing VOICE.EXE for more details.
C. The TALKER.OVL overlay and TALKER.CMD script
The use of VOICE.EXE was previously limited to use with PC-VCO.
Beginning with COM-AND version 2.6, VOICE.EXE may be accessed
through a script named TALKER.CMD and a machine language script
subroutine overlay named TALKER.OVL.
o TALKER.CMD loads TALKER.OVL as an overlay and:
.. TALKER.OVL looks for VOICE.EXE loaded as a TSR
.. TALKER.OVL loads VOICE.EXE if VOICE is not TSR
... it must be in the current subdirectory,
... there must be sufficient memory
o TALKER.CMD loads an exception file (if found on the
current subdirectory) for text to phoneme conversion
o TALKER.CMD reads the comm line, and the keyboard. Text
Received text is 'spoken' through VOICE.EXE. Certain
COM-AND functions are emulated
o When TALKER.CMD is terminated (with an ESC), if TALKER.OVL
loaded VOICE.EXE, VOICE.EXE is terminated
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 3
I. Introduction (continued)
D. The SPEECH.COM driver
A resident speech driver SPEECH.COM and associated programs (SAY
and READ) were originally found on a public domain Bulletin Board
in Chicago. The author's name is not contained in the document,
and no statement is made as to its ownership or copyright.
The author IS identified within the executable object files (as
Andy McGuire... incorrectly mentioning Douglas Sisco in earlier
documents). I have attempted to find anyone who knows of Andy
McGuire, with no success to date. SPEECH.COM is not included in
this release (nor has it has been in any - its not mine to give).
It is available on most services as SPEECH.ARC.
The current speech driver (by Andy McGuire) will not function
with DOS 3.xx (so its document states), without patching.
The driver is limited to a 4.77 Mhz clock as well. I published
a patch for SPEECH.COM... but that patch is mostly ineffective
above 8Mhz.
TALKER.OVL does not interface SPEECH.COM at this time.
E. This document
This document describes the use and function of TALKER.CMD,
TALKER.OVL, and associated scripts. At this time, minimal
programming specifics are included; VOICE.EXE is offered
ONLY for use with COM-AND and PC-VCO. Registrants of COM-AND
may make private arrangements with this author for other uses.
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 4
II. Using TALKER.CMD
TALKER.CMD is a script for use by COM-AND. COM-AND must be loaded
in order to invoke TALKER... refer to the COM-AND documentation for
details on the installation/use of COM-AND and for details on the
COM-AND script language (should you wish to review TALKER.CMD).
-------------------------------------------------------------------
. Place TALKER.CMD and TALKER.OVL on the subdirectory from which
you execute COM-AND or on the current subdirectory.
. The VOICE.EXE driver and exception file (if any) must be avail-
able on the current subdirectory (unless VOICE is manually loaded
before COM-AND).
. Load COM-AND in the usual manner. Once COM-AND is started, and
you have logged on to a host system (i.e. are receiving text
you'd like to hear):
. Begin the TALKER script by pressing F2 in COM-AND, and entering:
TALKER<cr>
. Terminate TALKER with ESC. If TALKER loaded VOICE.EXE, VOICE.EXE
will be terminated.
. For a summary of TALKER's function, press F10.
-------------------------------------------------------------------
NOTE: You may load VOICE.EXE before loading COM-AND. Loaded
manually, VOICE.EXE becomes a terminate-and-stay-resident program.
It may be terminated with the included VEND.COM utility. Unless
terminated, it takes up space until you next boot.
-------------------------------------------------------------------
That's all there is to it. TALKER performs text-to-phoneme conver-
sion and passes the phonemes to VOICE.EXE for sounding. The quality
is about what you'd expect without digital-to-analogue conversion...
but its a start.
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 5
III. TALKER.OVL programming
The file TALKER.OVL is a set of machine language subroutines to a
COM-AND script. It is not executable by itself. A COM-AND script
loads an overlay with the OVERLAY statement, and invokes routines
in the overlay with the SCALL statement.
The SCALL statement requires an address in the overlay to be called,
and optionally may specify a list of variables for passing and for
returning values. TALKER.OVL has the following entry points:
Address Passed Returned Function
------- ------ -------- -------------------------------------------
0 Sx - Voice a ENGLISH text string in Sx
3 Sx - Voice a phonetic text string in Sx
6 - Nx Open the voice driver (Nx returns 0,-1;
0 -> no error)
9 - - Close the voice driver
12 Sx Nx Load an exception file (name passed in Sx)
returned Nx is 0 (no error) or DOS error)
15 Nx - Set speaking rate (21-1000 wpm, 150 usual)
18 Nx - Set speaking pitch (21-1000 Hz, 110 usual)
21 Sx - Set driver file name (name passed in Sx)
SCALL 6,Nx ; Open driver
The entry point at address 6 'opens' the voice driver. First,
it looks for VOICE.EXE loaded as a TSR. If not found, it will
attempt to load VOICE.EXE. For this to occur, VOICE.EXE must
be in the current subdirectory, and there there must be
sufficient memory available (21K).
Nx returns 0 to indicate no error, and -1 to indicate failure.
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 6
III. TALKER.OVL programming (continued)
SCALL 9 ; Close driver
The entry point at address 9 'closes' TALKER.OVL and the voice
driver. If the voice driver was loaded during the 'open', the
voice driver is terminated.
No parameters are passed or returned.
SCALL 12,Sx,Nx ; Load exceptions
The entry point at address 12 'loads' an exception file. The
content of an exception file is discussed in Appendix C below.
This file directs the text to phoneme conversion of certain,
specific words.
The open call above must be performed prior to this call.
Sx passes a file name; Nx returns 0 to indicate error, and
other than 0 to indicate a DOS file error.
SCALL 0,Sx ; Speak english text
The entry point at address 0 'speaks' a line of english text.
The text to phoneme conversion is performed according to the
exception file loaded, and then according to a table of rules
for pronouncing English.
The open call above must be performed prior to this call.
Sx passes the text to be voiced.
SCALL 3,Sx ; Speak phonetic text
The entry point at address 3 'speaks' phonetic text. No text
to phoneme conversion is performed... the text is passed to
the voice driver directly.
The open call above must be performed prior to this call.
Sx passes the text to be voiced. The VOICE.EXE arpabet is
listed in Appendix A below.
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 7
III. TALKER.OVL programming (continued)
SCALL 15,Nx ; Set rate
The entry point at address 15 'sets' voice driver's speaking
rate. This controls (approximately) the duration of a single
phoneme. The usual value is 150 words per minute (wpm).
The open call above must be performed prior to this call.
Nx passes a value (21-1000).
SCALL 18,Nx ; Set pitch
The entry point at address 18 'sets' voice driver's speaking
pitch. This controls (approximately) the fundamental pitch
for a single phoneme. The usual value is 110 Hz.
The open call above must be performed prior to this call.
Nx passes a value (21-1000).
SCALL 21,Sx ; Set driver file name
The entry point at address 21 defines the file name used to
load VOICE.EXE. Note that it is not currently invoked by
the TALKER.CMD script.
This must be performed prior to an open call (above).
Sx passes the file name (may be qualified with drive and
subdirectory).
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 8
IV. VOICEON, VOICEOFF, and TESTVOICE scripts
An alternate usage of TALKER.OVL is demonstrated with the VOICEON,
VOICEOFF and TESTVOICE scripts.
VOICEON loads TALKER.OVL and opens (loads) the VOICE driver. It
then sets an EXIT scriptname, to be executed when COM-AND terminates
(via Alt-X or script BYE). [The EXIT script is VOICEOFF.] VOICEON
then terminates (or returns to the caller), leaving TALKER.OVL
available for use.
VOICEON sets the EXIT script to ensure that the VOICE driver, if
loaded by TALKER.OVL, is terminated before COM-AND terminates.
This is highly desirable, as, if COM-AND terminates and the VOICE
driver is left running, a 'hole' will appear in DOS's memory map.
DOS does not like such 'holes'. Should this occur, the VEND utility
will terminate the left-over VOICE driver, and make DOS happy.
VOICEOFF terminates TALKER.OVL, terminating VOICE.EXE if it was
loaded during VOICEON. If an exit script is currently set, VOICEOFF
exits (or returns to its caller). If no exit script is set, VOICEOFF
believes IT is the EXIT script, and terminates COM-AND.
Thus, VOICEOFF may be issued at any time before COM-AND terminates,
and acts like any other script. However, if not executed before
COM-AND terminates, it will execute UPON termination.
TESTVOICE is a simple script demonstrating that once TALKER.OVL is
loaded, ANY subsequent script may test for its presence and issue
'spoken text'. In this case, phonetic text is used for maximum
clarity. Pitch and rate are set too, prior to speaking.
These functions have been broken into separate scripts for
demonstration purposes. They might easily be incorporated into a
large script as an adjunct to prompts windows and such <grin>.
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 9
V. TALKER.OVL termination
The TALKER.OVL overlay does not, itself, hook any interrupt vectors
or change the machine state in any way that requires special treat-
ment at termination. HOWEVER, the overlay TALKER.OVL can load the
VOICE.EXE speech driver as a TSR above COM-AND. If TALKER loaded
VOICE.EXE and COM-AND is terminated, memory occupied by COM-AND and
by TALKER are freed, but VOICE.EXE remains in memory.
The TALKER script does not allow premature exit. ESCape pressed dur-
ing the script closes the overlay gracefully (and therefore unloads
VOICE). The problem is not as simple with VOICEON. VOICEON sets
VOICEOFF to be executed as a script when COM-AND is terminated, hope-
fully closing TALKER. However, an intervening script might load a
new overlay (not knowing how to close TALKER.OVL), or might replace
the script to-be-executed on exit.
Therefore, the 1.1 version scripts TALKER and VOICEON (distributed
with COM-AND 2.8) load the TALKER.OVL overlay specifying that entry
address '9' is to be executed before TALKER is terminated. This
entry point, documented above, allows TALKER to direct VOICE.EXE to
unload.
Therefore, VOICE.EXE is unloaded properly unloaded no matter how
COM-AND terminates, or what intervening scripts are run. The end-
action entry point is executed whenever TALKER might be removed.
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 10
VI. Program requirements
COM-AND is coded for an IBM PC or DOS compatible machine.
Certain I/O is done through the 'Handle' oriented I/O routines
available to DOS 2.0. Therefore DOS 2.0 is a minimum requirement.
VOICE.EXE (Version 1.0) requires 21K for itself.
TALKER.OVL (Version 1.0) requires 7K for itself.
COM-AND.EXE (version 2.8) requires 256K for itself.
Therefore, you need 384K (minimally) for COM-AND, TALKER, and VOICE.
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 11
VII. Author information
TALKER was written using Microsoft Macro-Assembler. The author likes
assembler. Assembly language is an entirely appropriate vehicle for
some of the program, and a not-inappropriate vehicle for the rest.
The author of this program is R. Scott McGinnis of Chicago,
Illinois. PLINK and GEnie ID: TARTAN. CIS ID: 73147, 2665.
Comment and suggestions (and criticism in moderation) are welcomed:
CABER Software
R. (Scott) McGinnis
P.O. Box 3607 Mdse Mart
Chicago, IL 60654-0607
I wish to thank my wife, Elizabeth, for companioning me through these
many years. She even says she enjoys my harp! That's commitment.
<might be, too>
TALKER and VOICE may not be distributed without COM-AND or PC-VCO.
[It doesn't make a whole lot of sense to do so...] They are offered
ONLY for use with COM-AND or PC-VCO. COM-AND is 'shareware". If
COM-AND/TALKER is found entertaining or useful, a registration of
$50.00 is required.
Registrants of COM-AND are invited to contact the author if they
wish to use TALKER.OVL in other applications.
Version 1.1: 910711
TALKER: Voice driver for COM-AND Page 12
A. VOICE.EXE arpabet
Phonemes are represented to VOICE.EXE textually.
Vowels Consonants
------------------------- -----------------------
IY beet IH bit R red L yellow
EH bet AE bat W away Y yellow
AA hot AH under M men N men
AO talk UH look NX sing
ER bird OH border S sail SH rush
AX about IX solid F fed TH thin
Z has ZH pleasure
Dipthongs V very DH then
------------------------- CH check J judge
EY made AY hide /H hole /C loch
OY boil AW power B but P put
OW low UW crew D dog T toy
G guest K camp
Special symbols
-------------------------
DX pity (tongue flap)
Q kitt_en (glottal stop)
RX car LX call
(postvocalic R and L)
QX (silent vowel)
Contractions
-------------------------
UL = AXL IL = IXL
UM = AXM IM = IXM
UN = AXN IN = IXN
Punctuation
-------------------------
Digits 1-9 stress marks (unimplemented in version 1.0)
. sentence terminator
? sentence terminator
- phrase delimiter
, clause delimiter
( ) noun phrase delimiters (unimplemented in version 1.0)
For example:
"I can talk" would be written "ay kaen tawk "
Version 1.1: 910711 Appendices
TALKER: Voice driver for COM-AND Page 13
B. SPEECH.COM arpabet
Phonemes are represented to SPEECH.COM textually. Individual
phonemes are separated by "-" if they are to be sounded smoothly.
Phonemes are:
a - tApe ae - hAt ah - fAther
aw - AWful b - Book ch - CHurch
d - Dog ee - fEEt eh - sEt
f - Find g - Get i - I
ih - sIt j - Just k - King
l - Look m - Make n - New
oh - hOE oo - bOOt p - Peek
r - Ring s - See sh - SHeep
t - Tool th - tooTH tz - THe
u - lOOk uh - Up v - View
w - Window wh - Where y - You
z - Zoo zh - whatever.
" " - pause between words
"-" - connect two or more phonemes
For example:
"I can talk" would be written "i k-ae-n t-aw-k "
Version 1.1: 910711 Appendices
TALKER: Voice driver for COM-AND Page 14
C. Exception File
The exception file distributed with PC-VCO is virtually that used
by the MacIntosh VCO. The exception file is a simple text file,
each line of which has the syntax:
"[" <keyword> "]" "=" <translation>
There are three types of keyword in the current exception file:
. Keywords without a special delimiter (e.g. [6] which gives a
pronunciation for numeric 6)
. Keywords with the initial delimiter "{". MacIntosh documentation
states that these are to be displayed but not spoken. Why are
they in the exception file? Beats me.
. Keywords with the initial delimiter "[" (in addition to the
initial bracket). MacIntosh documentation states that these are
to be voiced, and not displayed.
PC-VCO follows these rules, more or less. The exception file as
prepared for the MacIntosh MacTalk is compatible with the VOICE.EXE
speech driver; the 'old' exception file supplied with this release
is compatible with SPEECH.COM). Some changes have been made, but not
alot. Perhaps some brave soul will pitch in.
On the other hand, the exception file does provide pronunciation
for tokens that otherwise would be skipped by the present speech
driver (e.g. simple numerics).
Please note that this version of TALKER was distributed with one
exception file:
PC-VCO.EXC - Exception file for VOICE.EXE speech driver
Version 1.1: 910711 Appendices